#
# Header: mkinitramfs-ll/mkinitramfs-ll.conf, 2015/05/28 Exp
#
# opts an associative array which hold pretty much every single option,
# so one could assign default values for pretty much everything: opts[-arg]
# <arg> being an options or a command line switch. opts[-arg] is a colon ':' 
# separated list for each option or arg that is a list.
#
# To enable default options e.g. {all,hook,luks,lvm,toi,gpg,squashd,...} use
# 'opts[-luks]=:', 'opts[-lvm]=:', opts[-hook]+=:zram:zfs etc.
#
# opts[-module-<group>] a list of kernel module group, nls_cp437:vfat should be putted
# to remdev group for vfat remdev users for example.
#
#   Support kernel module dependencies, so no need to stuff modules groups;
#   Support kernel module groups in the boot group e.g. kms group.
#
#   Support an improved regular expression kernel module name, e.g. appending
#   `serpent' to opts[-module-dm-crypt] would rightly add serpent_generic and
#   architecture specific modules serpent-{avx{2,-x86_64},sse-x86_64}.
#
#   Support extended kernel module group that can be appended directly to
#   `module' kernel cmdline argument: module=group;
#   just create opts[-module-<group>] grooups and then append them to
#   opts[-module-group].
#
# Every item if built as module will be included or nothing if not, so one
# can leave as is or add a few items.
#

#
# Default kernel module groups:
# User groups are also supported e.g. kms module group
#
opts[-module-boot]+=:kms:crc32:btrfs:ext2:ext3:ext4:jfs:xfs:thunderbolt-net:thunderbolt:intel-wmi:intel-hid:hid-generic:i2c-hid:i2c-isch:i2c-i801:i2c-smbus:spi-pxa2xx-platform:spi-pxa2xx-pci:intel-lpss-pci:intel-lpss-acpi:pwm-lpss:pwm-lpss-platform:
opts[-module-device-mapper]+=:dm-thin-pool:dm-mirror:dm-cache:dm-multipath:dm-snapshot
opts[-module-dm-crypt]+=aes:dm-crypt:sha256:sha512:wp512:ecb:lrw:xts:twofish:serpent
opts[-module-dm-raid]+=:dm-raid:dm-mirror:dm-multipath:dm-snapshot
opts[-module-gpg]+=:cast5
opts[-module-kms]+=:i915:nouveau:radeon
opts[-module-raid]+=:raid0:raid10:raid1:raid456
opts[-module-remdev]+=:nls_cp437:vfat
opts[-module-squashd]+=:aufs:overlay:squashfs
opts[-module-swsusp]+=
opts[-module-tuxonice]+=:tuxonice_swap:tuxonice_userui:tuxonice_file
opts[-module-zfs]+=:zlib_deflate:spl:zavl:zcommon:znvpair:zunicode:zfs
opts[-module-zram]+=:zram
opts[-module-bcache]+=:bcache
opts[-module-btrfs]+=:btrfs

opts[-firmware]=:iwlwifi-7260
#
# A list of kernel modules to include in the initramfs that can be loaded
# at boot time if passed to *module* kernel cmdline argument
#
opts[-module]+=:boot:kms:remdev:uvesafb

#
# Default kernel module group included in the initramfs
#
opts[-module-group]+=:boot:kms:remdev:swsusp

#
# A list of binaries to include into the initramfs, library
# dependencies will be copied over using `$(ldd /path/to/bin)'.
#
opts[-bin]+=:blkid:v86d

#
# opts[-bin-<hook>] are list of binaries to include if <hook> hook or script
# is included in the initramfs
#
opts[-bin-zfs]=zfs:zpool:mount.zfs:zdb:fsck.zfs
opts[-bin-btrfs]=btrfs:btrfsck:fsck.btrfs

#
# A colon separated list of console fonts to include into the initramfs
#
opts[-font]+=:ter-g12n:ter-g14n:ter-112n:ter-v12n

#
# A colon separated list of keymap to include in the initramfs
#
opts[-keymap]+=:azerty:dvorak:unicode

#
# Enable LVM[2]
#
#opts[-lvm]=:
#
# Enable dm-crypt LUKS
#
#opts[-luks]=:
#
# Enable extra flesystem
#
#opts[-hook]=zfs:zram:btrfs

#
# An array holding *environment* variables or kernel cmdline arguments,
# To disable default kernel cmdline, append `env=0'
# or case insensitive disable|false|off|no for that matter.
#
# Note, however, this will disbale everything. Or else, a colon separated
# list can be used instead e.g. `env=:root:'; (NOTE: start/end with a colon `:').
#
env=(
	${MIR_EXTRA_ENV}
	# Disable applets/binaries checking
	'CHECK_ENV=false'
	# Set a default rootfs mount option
	#'rootflags=user_xattr'
	# Set up root options with fsck enabled
	#'root=root-sda2' 'rootfs=ext4:no'
	# Set up root key mode (dm-crypt LUKS)
	#'luks=pwd'
	# Setup init variable if necessary
	#'init=/sbin/runit-init'
	# Set up extra option (squash(ed) directory)
	#'squashd=:aufs:+LOCAL:opt'
	# Set this variable to keep some system file systems mounted
	#'SYSFS=/run:/sys:/dev:/proc'
)

#
# vim:fenc=utf-8:ft=sh:ci:pi:sts=0:sw=4:ts=4:
#
